<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth Host Stack Library: Logical Link Control and Adaptation Protocol (L2CAP)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth Host Stack Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__l2cap.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">Logical Link Control and Adaptation Protocol (L2CAP)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Logical Link Control and Adaptation Layer Protocol, referred to as L2CAP, provides connection oriented and connectionless data services to upper layer protocols with protocol multiplexing capability and segmentation and reassembly operation. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__fcr__options__t.html">wiced_bt_l2cap_fcr_options_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for Enhanced Retransmission Mode Options Refer to Volume 3, Part A, section 5.4 of Bluetooth Core specification for details.  <a href="structwiced__bt__l2cap__fcr__options__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a structure to hold the configuration parameters.  <a href="structwiced__bt__l2cap__cfg__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__appl__information__t.html">wiced_bt_l2cap_appl_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the structure that applications use to register with L2CAP.  <a href="structwiced__bt__l2cap__appl__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html">wiced_bt_l2cap_le_appl_information_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the structure that applications use to register with LE L2CAP.  <a href="structwiced__bt__l2cap__le__appl__information__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__fixed__chnl__reg__t.html">wiced_bt_l2cap_fixed_chnl_reg_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed channel registration info (the callback addresses and channel config)  <a href="structwiced__bt__l2cap__fixed__chnl__reg__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html">wiced_bt_l2cap_ecrb_cb_ptrs_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure containing application ECRB callbacks.  <a href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga467e2353f863be840bd5faa90eccae6c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga467e2353f863be840bd5faa90eccae6c">L2CAP_ECRB_MIN_MTU</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ga467e2353f863be840bd5faa90eccae6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Min MTU.  <a href="#ga467e2353f863be840bd5faa90eccae6c">More...</a><br /></td></tr>
<tr class="separator:ga467e2353f863be840bd5faa90eccae6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d68514711d5b2dcda828eabed7fbe00"><td class="memItemLeft" align="right" valign="top"><a id="ga1d68514711d5b2dcda828eabed7fbe00"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1d68514711d5b2dcda828eabed7fbe00">L2CAP_ECRB_MIN_MPS</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ga1d68514711d5b2dcda828eabed7fbe00"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Min MPS. <br /></td></tr>
<tr class="separator:ga1d68514711d5b2dcda828eabed7fbe00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga393b58267d11d569c394b326b3350412"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga393b58267d11d569c394b326b3350412">L2CAP_MINIMUM_OFFSET</a>&#160;&#160;&#160;13</td></tr>
<tr class="memdesc:ga393b58267d11d569c394b326b3350412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum offset that L2CAP needs in a buffer.  <a href="#ga393b58267d11d569c394b326b3350412">More...</a><br /></td></tr>
<tr class="separator:ga393b58267d11d569c394b326b3350412"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab983f0794fe13006d98d29538aa1307"><td class="memItemLeft" align="right" valign="top"><a id="gaab983f0794fe13006d98d29538aa1307"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaab983f0794fe13006d98d29538aa1307">L2CAP_BLE_CONN_MIN_OFFSET</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:gaab983f0794fe13006d98d29538aa1307"><td class="mdescLeft">&#160;</td><td class="mdescRight">HCI type(1), len(2), handle(2), L2CAP len(2) and CID(2) <br /></td></tr>
<tr class="separator:gaab983f0794fe13006d98d29538aa1307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d778e008613bbc073549e6cb1ce8e47"><td class="memItemLeft" align="right" valign="top"><a id="ga6d778e008613bbc073549e6cb1ce8e47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6d778e008613bbc073549e6cb1ce8e47">L2CAP_DEFAULT_BLE_CB_POOL_ID</a>&#160;&#160;&#160;0xFF</td></tr>
<tr class="memdesc:ga6d778e008613bbc073549e6cb1ce8e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use the default HCI ACL buffer pool. <br /></td></tr>
<tr class="separator:ga6d778e008613bbc073549e6cb1ce8e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="memItemLeft" align="right" valign="top"><a id="ga2dbbfb547c0c6bdf80988cb14f716982"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2dbbfb547c0c6bdf80988cb14f716982">L2CAP_BLE_COC_SDU_OFFSET</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="mdescLeft">&#160;</td><td class="mdescRight">to provide upper layer some minimal offset possibly required to process incoming packets <br /></td></tr>
<tr class="separator:ga2dbbfb547c0c6bdf80988cb14f716982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21a82bdfd45b292cf3421c064ca7874d"><td class="memItemLeft" align="right" valign="top"><a id="ga21a82bdfd45b292cf3421c064ca7874d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga21a82bdfd45b292cf3421c064ca7874d">L2CAP_BROADCAST_MIN_OFFSET</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:ga21a82bdfd45b292cf3421c064ca7874d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum offset for broadcast needs another two bytes for the PSM. <br /></td></tr>
<tr class="separator:ga21a82bdfd45b292cf3421c064ca7874d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga6827dfd644f1172740f9e69c0df06bc9"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a></td></tr>
<tr class="memdesc:ga6827dfd644f1172740f9e69c0df06bc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel configuration fields in bit map.  <a href="#ga6827dfd644f1172740f9e69c0df06bc9">More...</a><br /></td></tr>
<tr class="separator:ga6827dfd644f1172740f9e69c0df06bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga8eb954ec0a272b02c6fc69bd07ea7602">wiced_bt_l2cap_connected_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection established callback prototype.  <a href="#ga8eb954ec0a272b02c6fc69bd07ea7602">More...</a><br /></td></tr>
<tr class="separator:ga8eb954ec0a272b02c6fc69bd07ea7602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga8e06cc2cf38b4956b5bf6f521de8b3c7">wiced_bt_l2cap_disconnect_indication_cback_t</a>(uint16_t local_cid, uint16_t reason, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> ack)</td></tr>
<tr class="memdesc:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect indication callback prototype.  <a href="#ga8e06cc2cf38b4956b5bf6f521de8b3c7">More...</a><br /></td></tr>
<tr class="separator:ga8e06cc2cf38b4956b5bf6f521de8b3c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0a296b1bb20b46ebc680a7bec99a740a">wiced_bt_l2cap_disconnect_confirm_cback_t</a>(uint16_t local_cid, uint16_t result)</td></tr>
<tr class="memdesc:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect confirm callback prototype.  <a href="#ga0a296b1bb20b46ebc680a7bec99a740a">More...</a><br /></td></tr>
<tr class="separator:ga0a296b1bb20b46ebc680a7bec99a740a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f1ea722e6d857d614fbc68192fcad37"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga5f1ea722e6d857d614fbc68192fcad37">wiced_bt_l2cap_data_indication_cback_t</a>(uint16_t local_cid, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td></tr>
<tr class="memdesc:ga5f1ea722e6d857d614fbc68192fcad37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data received indication callback prototype.  <a href="#ga5f1ea722e6d857d614fbc68192fcad37">More...</a><br /></td></tr>
<tr class="separator:ga5f1ea722e6d857d614fbc68192fcad37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga202240560832cdbfbf208871afd29153"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga202240560832cdbfbf208871afd29153">wiced_bt_l2cap_tx_complete_cback_t</a>(uint16_t local_cid, void *p_data)</td></tr>
<tr class="memdesc:ga202240560832cdbfbf208871afd29153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit complete callback protype.  <a href="#ga202240560832cdbfbf208871afd29153">More...</a><br /></td></tr>
<tr class="separator:ga202240560832cdbfbf208871afd29153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac22d67eed3442a90a411e8a8fecbe736"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac22d67eed3442a90a411e8a8fecbe736">wiced_bt_l2cap_fixed_chnl_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> connected, uint16_t reason, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport)</td></tr>
<tr class="memdesc:gac22d67eed3442a90a411e8a8fecbe736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed channel connected and disconnected.  <a href="#gac22d67eed3442a90a411e8a8fecbe736">More...</a><br /></td></tr>
<tr class="separator:gac22d67eed3442a90a411e8a8fecbe736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae164afd58df70e53ff78489e7b7718e7"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae164afd58df70e53ff78489e7b7718e7">wiced_bt_l2cap_fixed_data_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:gae164afd58df70e53ff78489e7b7718e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signalling data received.  <a href="#gae164afd58df70e53ff78489e7b7718e7">More...</a><br /></td></tr>
<tr class="separator:gae164afd58df70e53ff78489e7b7718e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad82cf3146183d8eab241071358169b6"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaad82cf3146183d8eab241071358169b6">wiced_bt_l2cap_le_connect_indication_cback_t</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t psm, uint8_t id, uint16_t mtu_peer)</td></tr>
<tr class="memdesc:gaad82cf3146183d8eab241071358169b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection indication callback prototype.  <a href="#gaad82cf3146183d8eab241071358169b6">More...</a><br /></td></tr>
<tr class="separator:gaad82cf3146183d8eab241071358169b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3708e90651b47861800452aa90044a7f"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3708e90651b47861800452aa90044a7f">wiced_bt_l2cap_drb_release_cb</a>(<a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td></tr>
<tr class="memdesc:ga3708e90651b47861800452aa90044a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">User DRB may be released callback prototype.  <a href="#ga3708e90651b47861800452aa90044a7f">More...</a><br /></td></tr>
<tr class="separator:ga3708e90651b47861800452aa90044a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaa04b89594d9c3dc7d39a3066c02794cf">wiced_bt_l2cap_le_connect_confirm_cback_t</a>(uint16_t local_cid, uint16_t result, uint16_t mtu_peer)</td></tr>
<tr class="memdesc:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection confirmation callback prototype.  <a href="#gaa04b89594d9c3dc7d39a3066c02794cf">More...</a><br /></td></tr>
<tr class="separator:gaa04b89594d9c3dc7d39a3066c02794cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="memItemLeft" align="right" valign="top"><a id="gaf52b6b2c8b5f0b7e29b9152e786c14b8"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf52b6b2c8b5f0b7e29b9152e786c14b8">wiced_bt_l2cap_ecrb_connect_ind</a>(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> peer_addr, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint16_t psm, <a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a> lcids, uint8_t id, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for incoming connection requests. <br /></td></tr>
<tr class="separator:gaf52b6b2c8b5f0b7e29b9152e786c14b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf993046174899c65ebee5456a12e3be3"><td class="memItemLeft" align="right" valign="top"><a id="gaf993046174899c65ebee5456a12e3be3"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf993046174899c65ebee5456a12e3be3">wiced_bt_l2cap_ecrb_confirm_cb</a>(uint16_t lcid, uint16_t result, uint16_t peer_mtu)</td></tr>
<tr class="memdesc:gaf993046174899c65ebee5456a12e3be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for outging connection confirms. <br /></td></tr>
<tr class="separator:gaf993046174899c65ebee5456a12e3be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78a9fe09013d325da3ad898e0e185d84"><td class="memItemLeft" align="right" valign="top"><a id="ga78a9fe09013d325da3ad898e0e185d84"></a>
typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga78a9fe09013d325da3ad898e0e185d84">wiced_bt_l2cap_ecrb_mtu_changed_cb</a>(uint16_t lcid, uint16_t new_mtu, uint16_t new_mps)</td></tr>
<tr class="memdesc:ga78a9fe09013d325da3ad898e0e185d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECRB Application callback for channel MTU size change. <br /></td></tr>
<tr class="separator:ga78a9fe09013d325da3ad898e0e185d84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP connection result codes</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpfac4b232f4a458fd1580e81c538b18bc"></a><a class="anchor" id="L2CAP_CONN_RESULT"></a></p>
<p>L2CAP connection result codes. </p>
</td></tr>
<tr class="memitem:ga1c3124459bc093d9ee974c024a08dd80"><td class="memItemLeft" align="right" valign="top"><a id="ga1c3124459bc093d9ee974c024a08dd80"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1c3124459bc093d9ee974c024a08dd80">L2CAP_CONN_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga1c3124459bc093d9ee974c024a08dd80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection OK. <br /></td></tr>
<tr class="separator:ga1c3124459bc093d9ee974c024a08dd80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="memItemLeft" align="right" valign="top"><a id="gaf7a6a61438d32cd8a86aded6630fbd8e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf7a6a61438d32cd8a86aded6630fbd8e">L2CAP_CONN_PENDING</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection Pending. <br /></td></tr>
<tr class="separator:gaf7a6a61438d32cd8a86aded6630fbd8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24bdc2415febb2c406ae66fc741c47f4"><td class="memItemLeft" align="right" valign="top"><a id="ga24bdc2415febb2c406ae66fc741c47f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga24bdc2415febb2c406ae66fc741c47f4">L2CAP_CONN_NO_PSM</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga24bdc2415febb2c406ae66fc741c47f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection NO PSM. <br /></td></tr>
<tr class="separator:ga24bdc2415febb2c406ae66fc741c47f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3698261ebe22cb870474e9a9d4c2995c"><td class="memItemLeft" align="right" valign="top"><a id="ga3698261ebe22cb870474e9a9d4c2995c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3698261ebe22cb870474e9a9d4c2995c">L2CAP_CONN_SECURITY_BLOCK</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ga3698261ebe22cb870474e9a9d4c2995c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection Security Block. <br /></td></tr>
<tr class="separator:ga3698261ebe22cb870474e9a9d4c2995c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1de1d0109789e661f1d7d4173c96369"><td class="memItemLeft" align="right" valign="top"><a id="gad1de1d0109789e661f1d7d4173c96369"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gad1de1d0109789e661f1d7d4173c96369">L2CAP_CONN_NO_RESOURCES</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:gad1de1d0109789e661f1d7d4173c96369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection NO Resource. <br /></td></tr>
<tr class="separator:gad1de1d0109789e661f1d7d4173c96369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga307cec0f897a0faf5f154309726c656f"><td class="memItemLeft" align="right" valign="top"><a id="ga307cec0f897a0faf5f154309726c656f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga307cec0f897a0faf5f154309726c656f">L2CAP_CONN_BAD_CTLR_ID</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga307cec0f897a0faf5f154309726c656f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad Controller ID. <br /></td></tr>
<tr class="separator:ga307cec0f897a0faf5f154309726c656f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87beab594369ecec827a5b118d07c344"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga87beab594369ecec827a5b118d07c344">L2CAP_BLE_CONN_BAD_AUTHENT</a>&#160;&#160;&#160;5</td></tr>
<tr class="memdesc:ga87beab594369ecec827a5b118d07c344"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Authentication.  <a href="#ga87beab594369ecec827a5b118d07c344">More...</a><br /></td></tr>
<tr class="separator:ga87beab594369ecec827a5b118d07c344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="memItemLeft" align="right" valign="top"><a id="ga54c8b0caa348bca488bc7f8d5e2f9c8c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga54c8b0caa348bca488bc7f8d5e2f9c8c">L2CAP_BLE_CONN_BAD_AUTHORIZ</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Autherization. <br /></td></tr>
<tr class="separator:ga54c8b0caa348bca488bc7f8d5e2f9c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="memItemLeft" align="right" valign="top"><a id="gaea4d2ca81108c8bcfc45de7a98a52ade"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaea4d2ca81108c8bcfc45de7a98a52ade">L2CAP_BLE_CONN_BAD_KEY_SIZE</a>&#160;&#160;&#160;7</td></tr>
<tr class="memdesc:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad key size. <br /></td></tr>
<tr class="separator:gaea4d2ca81108c8bcfc45de7a98a52ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga75bf9f1505a79933a8bc7945888d82e8"><td class="memItemLeft" align="right" valign="top"><a id="ga75bf9f1505a79933a8bc7945888d82e8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga75bf9f1505a79933a8bc7945888d82e8">L2CAP_BLE_CONN_BAD_ENCRYPT</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ga75bf9f1505a79933a8bc7945888d82e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE Connection Bad Encryption. <br /></td></tr>
<tr class="separator:ga75bf9f1505a79933a8bc7945888d82e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="memItemLeft" align="right" valign="top"><a id="ga5d5d4cf8ac03e15edd8186ea202cf00c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga5d5d4cf8ac03e15edd8186ea202cf00c">L2CAP_BLE_CONN_INVALID_CID</a>&#160;&#160;&#160;9</td></tr>
<tr class="memdesc:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Source CID. <br /></td></tr>
<tr class="separator:ga5d5d4cf8ac03e15edd8186ea202cf00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="memItemLeft" align="right" valign="top"><a id="gab2f3a5adb96ddd9b73b6dae10626d642"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab2f3a5adb96ddd9b73b6dae10626d642">L2CAP_BLE_CONN_CID_ALREADY_USED</a>&#160;&#160;&#160;10</td></tr>
<tr class="memdesc:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source CID already allocated. <br /></td></tr>
<tr class="separator:gab2f3a5adb96ddd9b73b6dae10626d642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98e67e66f886f6427f273c458a5c9301"><td class="memItemLeft" align="right" valign="top"><a id="ga98e67e66f886f6427f273c458a5c9301"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga98e67e66f886f6427f273c458a5c9301">L2CAP_BLE_CONN_BAD_PARAMS</a>&#160;&#160;&#160;11</td></tr>
<tr class="memdesc:ga98e67e66f886f6427f273c458a5c9301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad parameters. <br /></td></tr>
<tr class="separator:ga98e67e66f886f6427f273c458a5c9301"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ECRB Result Code</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp94fd4fcb4809d230fdca2626b299dad5"></a><a class="anchor" id="L2CAP_ECRB_RESULT"></a></p>
<p>L2CAP ECRB Result Code </p>
</td></tr>
<tr class="memitem:gaf31a4728521eb4b930914f56c5d5685b"><td class="memItemLeft" align="right" valign="top"><a id="gaf31a4728521eb4b930914f56c5d5685b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf31a4728521eb4b930914f56c5d5685b">L2CAP_ECRB_ALL_CONNS_SUCCESSFUL</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:gaf31a4728521eb4b930914f56c5d5685b"><td class="mdescLeft">&#160;</td><td class="mdescRight">All Connections Successful. <br /></td></tr>
<tr class="separator:gaf31a4728521eb4b930914f56c5d5685b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e6fd0fc68ab23165f6d24686549745a"><td class="memItemLeft" align="right" valign="top"><a id="ga0e6fd0fc68ab23165f6d24686549745a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0e6fd0fc68ab23165f6d24686549745a">L2CAP_ECRB_ALL_CONNS_REFUSED</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga0e6fd0fc68ab23165f6d24686549745a"><td class="mdescLeft">&#160;</td><td class="mdescRight">All Connections Refused. <br /></td></tr>
<tr class="separator:ga0e6fd0fc68ab23165f6d24686549745a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="memItemLeft" align="right" valign="top"><a id="ga380ddc3c1dec2ea1619f8ca59f760321"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga380ddc3c1dec2ea1619f8ca59f760321">L2CAP_ECRB_SOME_CONNS_REFUSED</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some Connections Refused. <br /></td></tr>
<tr class="separator:ga380ddc3c1dec2ea1619f8ca59f760321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ed539b0c0deb62f09488bbad46345d5"><td class="memItemLeft" align="right" valign="top"><a id="ga9ed539b0c0deb62f09488bbad46345d5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9ed539b0c0deb62f09488bbad46345d5">L2CAP_ECRB_INSUFF_AUTHENTICATION</a>&#160;&#160;&#160;0x0005</td></tr>
<tr class="memdesc:ga9ed539b0c0deb62f09488bbad46345d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Authentication. <br /></td></tr>
<tr class="separator:ga9ed539b0c0deb62f09488bbad46345d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="memItemLeft" align="right" valign="top"><a id="ga1b11589d5ad59844387e4fe1e1e80a7f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1b11589d5ad59844387e4fe1e1e80a7f">L2CAP_ECRB_INSUFF_AUTHORIZATION</a>&#160;&#160;&#160;0x0006</td></tr>
<tr class="memdesc:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Autherization. <br /></td></tr>
<tr class="separator:ga1b11589d5ad59844387e4fe1e1e80a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="memItemLeft" align="right" valign="top"><a id="ga2b6a7f9061fc74bf9ad44e3e039d2d87"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2b6a7f9061fc74bf9ad44e3e039d2d87">L2CAP_ECRB_INSUFF_KEY_SIZE</a>&#160;&#160;&#160;0x0007</td></tr>
<tr class="memdesc:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Key size. <br /></td></tr>
<tr class="separator:ga2b6a7f9061fc74bf9ad44e3e039d2d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="memItemLeft" align="right" valign="top"><a id="ga7b4df3fcd4d1cefbaae0b271e2442c47"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga7b4df3fcd4d1cefbaae0b271e2442c47">L2CAP_ECRB_INSUFF_ENCRYPTION</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insufficient Encryption. <br /></td></tr>
<tr class="separator:ga7b4df3fcd4d1cefbaae0b271e2442c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01180b0d2e23d47b033af19d0034b06f"><td class="memItemLeft" align="right" valign="top"><a id="ga01180b0d2e23d47b033af19d0034b06f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga01180b0d2e23d47b033af19d0034b06f">L2CAP_ECRB_INVALID_SOURCE_CID</a>&#160;&#160;&#160;0x0009</td></tr>
<tr class="memdesc:ga01180b0d2e23d47b033af19d0034b06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Source CID. <br /></td></tr>
<tr class="separator:ga01180b0d2e23d47b033af19d0034b06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b57d0246d984b871f67e663af9209cf"><td class="memItemLeft" align="right" valign="top"><a id="ga0b57d0246d984b871f67e663af9209cf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0b57d0246d984b871f67e663af9209cf">L2CAP_ECRB_SOURCE_CID_IN_USE</a>&#160;&#160;&#160;0x000A</td></tr>
<tr class="memdesc:ga0b57d0246d984b871f67e663af9209cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Source CID in Used. <br /></td></tr>
<tr class="separator:ga0b57d0246d984b871f67e663af9209cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1fe86af36b248ddaaebee96a4053ca0"><td class="memItemLeft" align="right" valign="top"><a id="gac1fe86af36b248ddaaebee96a4053ca0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac1fe86af36b248ddaaebee96a4053ca0">L2CAP_ECRB_UNACCEPTABLE_PARAMS</a>&#160;&#160;&#160;0x000B</td></tr>
<tr class="memdesc:gac1fe86af36b248ddaaebee96a4053ca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unacceptable Params. <br /></td></tr>
<tr class="separator:gac1fe86af36b248ddaaebee96a4053ca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac18b47478bce4cef1fce57df3a198da7"><td class="memItemLeft" align="right" valign="top"><a id="gac18b47478bce4cef1fce57df3a198da7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac18b47478bce4cef1fce57df3a198da7">L2CAP_ECRB_INVALID_PARAMS</a>&#160;&#160;&#160;0x000C</td></tr>
<tr class="memdesc:gac18b47478bce4cef1fce57df3a198da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Params. <br /></td></tr>
<tr class="separator:gac18b47478bce4cef1fce57df3a198da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="memItemLeft" align="right" valign="top"><a id="ga2ef3784eac4b9b25b4964010bd5e5c29"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2ef3784eac4b9b25b4964010bd5e5c29">L2CAP_ECRB_RECONFIG_SUCCESSFUL</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration Successful. <br /></td></tr>
<tr class="separator:ga2ef3784eac4b9b25b4964010bd5e5c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e96991c53e2b3c1830138fbe02d3512"><td class="memItemLeft" align="right" valign="top"><a id="ga2e96991c53e2b3c1830138fbe02d3512"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2e96991c53e2b3c1830138fbe02d3512">L2CAP_ECRB_RECONFIG_FAIL_BAD_MTU</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga2e96991c53e2b3c1830138fbe02d3512"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad MTU. <br /></td></tr>
<tr class="separator:ga2e96991c53e2b3c1830138fbe02d3512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f2a432ec602ca7af8983863cba07a34"><td class="memItemLeft" align="right" valign="top"><a id="ga4f2a432ec602ca7af8983863cba07a34"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4f2a432ec602ca7af8983863cba07a34">L2CAP_ECRB_RECONFIG_FAIL_BAD_MPS</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga4f2a432ec602ca7af8983863cba07a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad MPS. <br /></td></tr>
<tr class="separator:ga4f2a432ec602ca7af8983863cba07a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="memItemLeft" align="right" valign="top"><a id="gafe610f3bc3ae138c01aa1e4429ac1697"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gafe610f3bc3ae138c01aa1e4429ac1697">L2CAP_ECRB_RECONFIG_FAIL_BAD_DCID</a>&#160;&#160;&#160;0x0003</td></tr>
<tr class="memdesc:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Bad DCID. <br /></td></tr>
<tr class="separator:gafe610f3bc3ae138c01aa1e4429ac1697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="memItemLeft" align="right" valign="top"><a id="gad192f458fb8fccd5491fdc5f4356bdaa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gad192f458fb8fccd5491fdc5f4356bdaa">L2CAP_ECRB_RECONFIG_FAIL_OTHER</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reconfiguration fail : Other Reason. <br /></td></tr>
<tr class="separator:gad192f458fb8fccd5491fdc5f4356bdaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="memItemLeft" align="right" valign="top"><a id="ga0766e27d59d49ec8baf74df6b9bfe4ee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga0766e27d59d49ec8baf74df6b9bfe4ee">L2CAP_ECRB_NOT_SUPPORTED_BY_PEER</a>&#160;&#160;&#160;0xF000</td></tr>
<tr class="memdesc:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not Supported by Peer. <br /></td></tr>
<tr class="separator:ga0766e27d59d49ec8baf74df6b9bfe4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP ping result</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp657883fd04e9d32ff42219fc42c4bf7f"></a><a class="anchor" id="L2CAP_PING_RESULT"></a></p>
<p>Ping result codes. </p>
</td></tr>
<tr class="memitem:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="memItemLeft" align="right" valign="top"><a id="ga9e5612c1b7888cb1a969861fdb7faf0b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9e5612c1b7888cb1a969861fdb7faf0b">L2CAP_PING_RESULT_OK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ping reply received OK. <br /></td></tr>
<tr class="separator:ga9e5612c1b7888cb1a969861fdb7faf0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="memItemLeft" align="right" valign="top"><a id="ga4e8e4a2973a1f1a2e7220b4a95d1efda"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4e8e4a2973a1f1a2e7220b4a95d1efda">L2CAP_PING_RESULT_NO_LINK</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Link could not be setup. <br /></td></tr>
<tr class="separator:ga4e8e4a2973a1f1a2e7220b4a95d1efda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab412c5740493977b7aeca5816120519f"><td class="memItemLeft" align="right" valign="top"><a id="gab412c5740493977b7aeca5816120519f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab412c5740493977b7aeca5816120519f">L2CAP_PING_RESULT_NO_RESPONSE</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gab412c5740493977b7aeca5816120519f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remote L2CAP did not reply. <br /></td></tr>
<tr class="separator:gab412c5740493977b7aeca5816120519f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP data write result</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp18b92977aa46f6ea103ee42cec479dac"></a><a class="anchor" id="L2CAP_DATAWRITE"></a></p>
<p>Result codes for <a class="el" href="group__l2cap.html#ga2cd224a6bc467d85d853540f8abdec5e">wiced_bt_l2cap_data_write()</a> </p>
</td></tr>
<tr class="memitem:ga15f1fc2aed25d306166cca74bf8608f8"><td class="memItemLeft" align="right" valign="top"><a id="ga15f1fc2aed25d306166cca74bf8608f8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga15f1fc2aed25d306166cca74bf8608f8">L2CAP_DATAWRITE_FAILED</a>&#160;&#160;&#160;<a class="el" href="group__gentypes.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a></td></tr>
<tr class="memdesc:ga15f1fc2aed25d306166cca74bf8608f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">If data not accepted and error. <br /></td></tr>
<tr class="separator:ga15f1fc2aed25d306166cca74bf8608f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac11908d21cca31282961ab23ddc67559"><td class="memItemLeft" align="right" valign="top"><a id="gac11908d21cca31282961ab23ddc67559"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gac11908d21cca31282961ab23ddc67559">L2CAP_DATAWRITE_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group__gentypes.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a></td></tr>
<tr class="memdesc:gac11908d21cca31282961ab23ddc67559"><td class="mdescLeft">&#160;</td><td class="mdescRight">If data accepted. <br /></td></tr>
<tr class="separator:gac11908d21cca31282961ab23ddc67559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36a742ec81d6b130ef9fce023755ab36"><td class="memItemLeft" align="right" valign="top"><a id="ga36a742ec81d6b130ef9fce023755ab36"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga36a742ec81d6b130ef9fce023755ab36">L2CAP_DATAWRITE_CONGESTED</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:ga36a742ec81d6b130ef9fce023755ab36"><td class="mdescLeft">&#160;</td><td class="mdescRight">if data accepted and the channel is congested <br /></td></tr>
<tr class="separator:ga36a742ec81d6b130ef9fce023755ab36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP data write flags</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpcb070451a8d2d71b4d472d59433e1fd9"></a><a class="anchor" id="L2CAP_DATAWRITE_FLUSH"></a></p>
<p>Flushable/Non Flushable flags parameter used in a call <a class="el" href="group__l2cap.html#ga2cd224a6bc467d85d853540f8abdec5e">wiced_bt_l2cap_data_write()</a> </p>
</td></tr>
<tr class="memitem:gabe8a54b9dce954e44f79274c050d4d96"><td class="memItemLeft" align="right" valign="top"><a id="gabe8a54b9dce954e44f79274c050d4d96"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gabe8a54b9dce954e44f79274c050d4d96">L2CAP_FLUSHABLE_MASK</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gabe8a54b9dce954e44f79274c050d4d96"><td class="mdescLeft">&#160;</td><td class="mdescRight">L2CAP Flushable mask. <br /></td></tr>
<tr class="separator:gabe8a54b9dce954e44f79274c050d4d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae040774bd5a495540e49d7456732c23f"><td class="memItemLeft" align="right" valign="top"><a id="gae040774bd5a495540e49d7456732c23f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae040774bd5a495540e49d7456732c23f">L2CAP_NON_FLUSHABLE_PACKET</a>&#160;&#160;&#160;0x0000</td></tr>
<tr class="memdesc:gae040774bd5a495540e49d7456732c23f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Non Flushable flag. <br /></td></tr>
<tr class="separator:gae040774bd5a495540e49d7456732c23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6561498074e97ec73b49de963fa69896"><td class="memItemLeft" align="right" valign="top"><a id="ga6561498074e97ec73b49de963fa69896"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6561498074e97ec73b49de963fa69896">L2CAP_FLUSHABLE_PACKET</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga6561498074e97ec73b49de963fa69896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushable flag. <br /></td></tr>
<tr class="separator:ga6561498074e97ec73b49de963fa69896"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP PSM</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp5aaa46eaf788597dda6f4847b9dd81a4"></a><a class="anchor" id="L2CAP_PSM_CHECK"></a></p>
<p>Validity check for PSM. PSM values must be odd. Also, all PSM values must be assigned such that the least significant bit of the most sigificant octet equals zero. </p>
</td></tr>
<tr class="memitem:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="memItemLeft" align="right" valign="top"><a id="ga526c4ea340fa1eadc1301b3080b6bb41"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga526c4ea340fa1eadc1301b3080b6bb41">L2C_INVALID_PSM</a>(psm)&#160;&#160;&#160;(((psm) &amp; 0x0101) != 0x0001)</td></tr>
<tr class="memdesc:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on invalid PSM. <br /></td></tr>
<tr class="separator:ga526c4ea340fa1eadc1301b3080b6bb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="memItemLeft" align="right" valign="top"><a id="ga3d09aad44f9c90015d3e6455a3dbadb8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga3d09aad44f9c90015d3e6455a3dbadb8">L2C_IS_VALID_PSM</a>(psm)&#160;&#160;&#160;(((psm) &amp; 0x0101) == 0x0001)</td></tr>
<tr class="memdesc:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on valid PSM. <br /></td></tr>
<tr class="separator:ga3d09aad44f9c90015d3e6455a3dbadb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP channel configuration</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp7857b1667372afe69d7de40e08dae106"></a><a class="anchor" id="L2CAP_CH_CFG_MASK"></a></p>
<p>L2CAP channel configured field bitmap. Used for <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> </p>
</td></tr>
<tr class="memitem:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="memItemLeft" align="right" valign="top"><a id="gacbaf7b6dab575ea7ed61eba69097b4ce"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gacbaf7b6dab575ea7ed61eba69097b4ce">L2CAP_CH_CFG_MASK_MTU</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">MTU channel configuration bit mask. <br /></td></tr>
<tr class="separator:gacbaf7b6dab575ea7ed61eba69097b4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="memItemLeft" align="right" valign="top"><a id="gaed9bbf317cb05ae2e3e420f7a563477a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaed9bbf317cb05ae2e3e420f7a563477a">L2CAP_CH_CFG_MASK_QOS</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="mdescLeft">&#160;</td><td class="mdescRight">QOS channel configuration bit mask. <br /></td></tr>
<tr class="separator:gaed9bbf317cb05ae2e3e420f7a563477a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="memItemLeft" align="right" valign="top"><a id="gab0f7c5609c68f3417ff7e6b2ae8f0b2a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab0f7c5609c68f3417ff7e6b2ae8f0b2a">L2CAP_CH_CFG_MASK_FLUSH_TO</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush to channel configuration bit mask. <br /></td></tr>
<tr class="separator:gab0f7c5609c68f3417ff7e6b2ae8f0b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab419d29fa16426b52ab3b25926cec877"><td class="memItemLeft" align="right" valign="top"><a id="gab419d29fa16426b52ab3b25926cec877"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab419d29fa16426b52ab3b25926cec877">L2CAP_CH_CFG_MASK_FCR</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:gab419d29fa16426b52ab3b25926cec877"><td class="mdescLeft">&#160;</td><td class="mdescRight">FCR channel configuration bit mask. <br /></td></tr>
<tr class="separator:gab419d29fa16426b52ab3b25926cec877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="memItemLeft" align="right" valign="top"><a id="ga88d1a74441d2bdf06ba44dfde36bb184"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga88d1a74441d2bdf06ba44dfde36bb184">L2CAP_CH_CFG_MASK_FCS</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="mdescLeft">&#160;</td><td class="mdescRight">FCS channel configuration bit mask. <br /></td></tr>
<tr class="separator:ga88d1a74441d2bdf06ba44dfde36bb184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7377ca83abae385943268fa7567335ac"><td class="memItemLeft" align="right" valign="top"><a id="ga7377ca83abae385943268fa7567335ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga7377ca83abae385943268fa7567335ac">L2CAP_CH_CFG_MASK_EXT_FLOW_SPEC</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga7377ca83abae385943268fa7567335ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended flow specification channel configuration bit mask. <br /></td></tr>
<tr class="separator:ga7377ca83abae385943268fa7567335ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
L2CAP LE PSM</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp43391b56ded17a6f74d52c326f2faa80"></a><a class="anchor" id="L2CAP_LE_PSM_CHECK"></a></p>
<p>Validity check for LE_PSM. Fixed LE_PSMs are in the range 0x0001 - 0x007F. Dynamic LE_PSM are in the range 0x0080 - 0x00FF. The values 0x0000 and 0x0100 - 0xFFFF are reserved. </p>
</td></tr>
<tr class="memitem:ga09d2c46b10a813c41302e5389e314bbe"><td class="memItemLeft" align="right" valign="top"><a id="ga09d2c46b10a813c41302e5389e314bbe"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga09d2c46b10a813c41302e5389e314bbe">MINIMIUM_DYNAMIC_LE_PSM</a>&#160;&#160;&#160;0x0080</td></tr>
<tr class="memdesc:ga09d2c46b10a813c41302e5389e314bbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">First application dynamic PSM allowed. <br /></td></tr>
<tr class="separator:ga09d2c46b10a813c41302e5389e314bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="memItemLeft" align="right" valign="top"><a id="ga1f03cf0e89ea3ac0472e7e0177e5d699"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>&#160;&#160;&#160;0x00FF</td></tr>
<tr class="memdesc:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="mdescLeft">&#160;</td><td class="mdescRight">LE PSM range limit. <br /></td></tr>
<tr class="separator:ga1f03cf0e89ea3ac0472e7e0177e5d699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga032af010a1e5d51fb5e3206be77c01b3"><td class="memItemLeft" align="right" valign="top"><a id="ga032af010a1e5d51fb5e3206be77c01b3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga032af010a1e5d51fb5e3206be77c01b3">L2C_BLE_INVALID_PSM</a>(le_psm)&#160;&#160;&#160;(!(le_psm) || (le_psm) &gt; <a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>)</td></tr>
<tr class="memdesc:ga032af010a1e5d51fb5e3206be77c01b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on invalid LE PSM. <br /></td></tr>
<tr class="separator:ga032af010a1e5d51fb5e3206be77c01b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd075c971c2d6c15bd2f51765053e1c4"><td class="memItemLeft" align="right" valign="top"><a id="gabd075c971c2d6c15bd2f51765053e1c4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gabd075c971c2d6c15bd2f51765053e1c4">L2C_BLE_IS_VALID_PSM</a>(le_psm)&#160;&#160;&#160;(((le_psm) != 0) &amp;&amp; ((le_psm) &lt;= <a class="el" href="group__l2cap.html#ga1f03cf0e89ea3ac0472e7e0177e5d699">MAXIMUM_LE_PSM</a>))</td></tr>
<tr class="memdesc:gabd075c971c2d6c15bd2f51765053e1c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true on valid LE PSM. <br /></td></tr>
<tr class="separator:gabd075c971c2d6c15bd2f51765053e1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9a06f8b983a720ef8f052bbaa823ad6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gae9a06f8b983a720ef8f052bbaa823ad6">wiced_bt_l2cap_register_fixed_channel</a> (uint16_t fixed_cid, <a class="el" href="structwiced__bt__l2cap__fixed__chnl__reg__t.html">wiced_bt_l2cap_fixed_chnl_reg_t</a> *p_freg)</td></tr>
<tr class="memdesc:gae9a06f8b983a720ef8f052bbaa823ad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a fixed channel.  <a href="#gae9a06f8b983a720ef8f052bbaa823ad6">More...</a><br /></td></tr>
<tr class="separator:gae9a06f8b983a720ef8f052bbaa823ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6c839df6fd0717659e0c1758c44f9e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab6c839df6fd0717659e0c1758c44f9e6">wiced_bt_l2cap_deregister_fixed_channel</a> (uint16_t fixed_cid)</td></tr>
<tr class="memdesc:gab6c839df6fd0717659e0c1758c44f9e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-register a fixed channel.  <a href="#gab6c839df6fd0717659e0c1758c44f9e6">More...</a><br /></td></tr>
<tr class="separator:gab6c839df6fd0717659e0c1758c44f9e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga306455f38d2becd14fdaa0c2298aa511"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga306455f38d2becd14fdaa0c2298aa511">wiced_bt_l2cap_connect_fixed_chnl</a> (uint16_t fixed_cid, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a> ble_addr_type)</td></tr>
<tr class="memdesc:ga306455f38d2becd14fdaa0c2298aa511"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect an fixed signalling channel to a remote device.  <a href="#ga306455f38d2becd14fdaa0c2298aa511">More...</a><br /></td></tr>
<tr class="separator:ga306455f38d2becd14fdaa0c2298aa511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaac3977d50dff78f8cf766a5921c784a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaaac3977d50dff78f8cf766a5921c784a">wiced_bt_l2cap_send_fixed_chnl_data</a> (uint16_t fixed_cid, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bda, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:gaaac3977d50dff78f8cf766a5921c784a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data on a fixed signalling channel.  <a href="#gaaac3977d50dff78f8cf766a5921c784a">More...</a><br /></td></tr>
<tr class="separator:gaaac3977d50dff78f8cf766a5921c784a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbddfd71d35ac472aa4116d9291a09e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gafbddfd71d35ac472aa4116d9291a09e1">wiced_bt_l2cap_remove_fixed_chnl</a> (uint16_t fixed_cid, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bda)</td></tr>
<tr class="memdesc:gafbddfd71d35ac472aa4116d9291a09e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a fixed channel to a remote device.  <a href="#gafbddfd71d35ac472aa4116d9291a09e1">More...</a><br /></td></tr>
<tr class="separator:gafbddfd71d35ac472aa4116d9291a09e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga728a05e414212f3fa6a62b602d0eccb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga728a05e414212f3fa6a62b602d0eccb9">wiced_bt_l2cap_set_fixed_channel_timeout</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bda, uint16_t fixed_cid, uint16_t idle_timeout)</td></tr>
<tr class="memdesc:ga728a05e414212f3fa6a62b602d0eccb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to set the idle timeout for a fixed channel.  <a href="#ga728a05e414212f3fa6a62b602d0eccb9">More...</a><br /></td></tr>
<tr class="separator:ga728a05e414212f3fa6a62b602d0eccb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19fedef3a0ab3ec2b155aefd73d4eb9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga19fedef3a0ab3ec2b155aefd73d4eb9e">wiced_bt_l2cap_ecrb_register</a> (uint16_t psm, <a class="el" href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html">wiced_bt_l2cap_ecrb_cb_ptrs_t</a> *p_ecrb_callbacks)</td></tr>
<tr class="memdesc:ga19fedef3a0ab3ec2b155aefd73d4eb9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application calls this function to register support for enhanced credit-based channels.  <a href="#ga19fedef3a0ab3ec2b155aefd73d4eb9e">More...</a><br /></td></tr>
<tr class="separator:ga19fedef3a0ab3ec2b155aefd73d4eb9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga759cb1c76bec995a078fde74b3663deb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga759cb1c76bec995a078fde74b3663deb">wiced_bt_l2cap_ecrb_deregister</a> (uint16_t psm)</td></tr>
<tr class="memdesc:ga759cb1c76bec995a078fde74b3663deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application calls this function to deregister support for enhanced credit-based channels.  <a href="#ga759cb1c76bec995a078fde74b3663deb">More...</a><br /></td></tr>
<tr class="separator:ga759cb1c76bec995a078fde74b3663deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga002c9dd41a84dffb8c9f8330be128e9d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga002c9dd41a84dffb8c9f8330be128e9d">wiced_bt_l2cap_ecrb_connect_req</a> (uint16_t psm, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a> bd_addr_type, <a class="el" href="group__wicedbt___device_management.html#ga4309edd4a7a1c7f30bdc57d8107e84ab">wiced_bt_ble_conn_mode_t</a> conn_mode, uint16_t our_rx_mtu, uint16_t our_rx_mps, int num_channels, <a class="el" href="structt_d_r_b.html">tDRB</a> **p_rx_drb_list, <a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a> lcid_list)</td></tr>
<tr class="memdesc:ga002c9dd41a84dffb8c9f8330be128e9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to create up to 5 credit-based L2CAP connections on the same PSM.  <a href="#ga002c9dd41a84dffb8c9f8330be128e9d">More...</a><br /></td></tr>
<tr class="separator:ga002c9dd41a84dffb8c9f8330be128e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga536ec7f339490e662fffcd11a2525a5d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga536ec7f339490e662fffcd11a2525a5d">wiced_bt_l2cap_ecrb_ConnectRsp</a> (uint16_t result, uint8_t trans_id, int16_t our_rx_mtu, uint16_t our_rx_mps, <a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a> lcid_list, <a class="el" href="structt_d_r_b.html">tDRB</a> **p_rx_drb_list)</td></tr>
<tr class="memdesc:ga536ec7f339490e662fffcd11a2525a5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to accept incoming Enhanced Credit-based L2CAP channel establishment, for which they had gotten a connect indication callback.  <a href="#ga536ec7f339490e662fffcd11a2525a5d">More...</a><br /></td></tr>
<tr class="separator:ga536ec7f339490e662fffcd11a2525a5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ca1d8190c10328fb06b68573fb88ac3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga1ca1d8190c10328fb06b68573fb88ac3">wiced_bt_l2cap_ecrb_reconfigure</a> (uint16_t new_rx_mtu, int16_t new_rx_mps, int num_channels, <a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a> lcid_list, <a class="el" href="structt_d_r_b.html">tDRB</a> **p_rx_drb_list)</td></tr>
<tr class="memdesc:ga1ca1d8190c10328fb06b68573fb88ac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to reconfigure the MTU and or MPS of Enhanced Credit-based L2CAP channels.  <a href="#ga1ca1d8190c10328fb06b68573fb88ac3">More...</a><br /></td></tr>
<tr class="separator:ga1ca1d8190c10328fb06b68573fb88ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d963f266263672e7a672c27a21cc711"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4d963f266263672e7a672c27a21cc711">wiced_bt_l2cap_get_current_config</a> (uint16_t lcid, <a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a> **pp_our_cfg, <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> *p_our_cfg_bits, <a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a> **pp_peer_cfg, <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> *p_peer_cfg_bits)</td></tr>
<tr class="memdesc:ga4d963f266263672e7a672c27a21cc711"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns configurations of L2CAP channel.  <a href="#ga4d963f266263672e7a672c27a21cc711">More...</a><br /></td></tr>
<tr class="separator:ga4d963f266263672e7a672c27a21cc711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb82303005eb9c2c60358f49c3308455"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gabb82303005eb9c2c60358f49c3308455">wiced_bt_l2cap_register</a> (uint16_t psm, <a class="el" href="structwiced__bt__l2cap__appl__information__t.html">wiced_bt_l2cap_appl_information_t</a> *p_cb_information)</td></tr>
<tr class="memdesc:gabb82303005eb9c2c60358f49c3308455"><td class="mdescLeft">&#160;</td><td class="mdescRight">Other layers call this function to register for L2CAP services.  <a href="#gabb82303005eb9c2c60358f49c3308455">More...</a><br /></td></tr>
<tr class="separator:gabb82303005eb9c2c60358f49c3308455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c7c609b52d8cc676006e7a9fc28f8f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga4c7c609b52d8cc676006e7a9fc28f8f5">wiced_bt_l2cap_deregister</a> (uint16_t psm)</td></tr>
<tr class="memdesc:ga4c7c609b52d8cc676006e7a9fc28f8f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Other layers call this function to deregister for L2CAP services.  <a href="#ga4c7c609b52d8cc676006e7a9fc28f8f5">More...</a><br /></td></tr>
<tr class="separator:ga4c7c609b52d8cc676006e7a9fc28f8f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cf452fa369a74b725afe2bf2917abbb"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga6cf452fa369a74b725afe2bf2917abbb">wiced_bt_l2cap_allocate_psm</a> (void)</td></tr>
<tr class="memdesc:ga6cf452fa369a74b725afe2bf2917abbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Other layers call this function to find an unused PSM for L2CAP services.  <a href="#ga6cf452fa369a74b725afe2bf2917abbb">More...</a><br /></td></tr>
<tr class="separator:ga6cf452fa369a74b725afe2bf2917abbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdd50150646f5c2b687cc631c10086f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gacdd50150646f5c2b687cc631c10086f8">wiced_bt_l2cap_disconnect_req</a> (uint16_t cid)</td></tr>
<tr class="memdesc:gacdd50150646f5c2b687cc631c10086f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to disconnect a channel.  <a href="#gacdd50150646f5c2b687cc631c10086f8">More...</a><br /></td></tr>
<tr class="separator:gacdd50150646f5c2b687cc631c10086f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65566b353208f4de37cc91625a4abcbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga65566b353208f4de37cc91625a4abcbf">wiced_bt_l2cap_disconnect_rsp</a> (uint16_t cid)</td></tr>
<tr class="memdesc:ga65566b353208f4de37cc91625a4abcbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to acknowledge the disconnection of a channel.  <a href="#ga65566b353208f4de37cc91625a4abcbf">More...</a><br /></td></tr>
<tr class="separator:ga65566b353208f4de37cc91625a4abcbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cd224a6bc467d85d853540f8abdec5e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga2cd224a6bc467d85d853540f8abdec5e">wiced_bt_l2cap_data_write</a> (uint16_t cid, uint8_t *p_buf, uint16_t buf_len, uint16_t flags)</td></tr>
<tr class="memdesc:ga2cd224a6bc467d85d853540f8abdec5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to write data with extended.  <a href="#ga2cd224a6bc467d85d853540f8abdec5e">More...</a><br /></td></tr>
<tr class="separator:ga2cd224a6bc467d85d853540f8abdec5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff27f5b67e8050fe84916d3a67006a50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaff27f5b67e8050fe84916d3a67006a50">wiced_bt_l2cap_set_idle_timeout</a> (uint16_t cid, uint16_t timeout, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> is_global)</td></tr>
<tr class="memdesc:gaff27f5b67e8050fe84916d3a67006a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to set the idle timeout for a connection, or for all future connections.  <a href="#gaff27f5b67e8050fe84916d3a67006a50">More...</a><br /></td></tr>
<tr class="separator:gaff27f5b67e8050fe84916d3a67006a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9834af87f6f31578b7095bdb4e55e459"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9834af87f6f31578b7095bdb4e55e459">wiced_bt_l2cap_set_idle_timeout_by_bd_addr</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t timeout, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport)</td></tr>
<tr class="memdesc:ga9834af87f6f31578b7095bdb4e55e459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to set the idle timeout for a connection.  <a href="#ga9834af87f6f31578b7095bdb4e55e459">More...</a><br /></td></tr>
<tr class="separator:ga9834af87f6f31578b7095bdb4e55e459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebb8e6a7ac8add5164c86871af99747e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaebb8e6a7ac8add5164c86871af99747e">wiced_bt_l2cap_get_bdaddrby_handle</a> (uint16_t handle, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr)</td></tr>
<tr class="memdesc:gaebb8e6a7ac8add5164c86871af99747e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get BD address for the given HCI handle.  <a href="#gaebb8e6a7ac8add5164c86871af99747e">More...</a><br /></td></tr>
<tr class="separator:gaebb8e6a7ac8add5164c86871af99747e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28268b114d35484254e29696a165f72a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga28268b114d35484254e29696a165f72a">wiced_bt_l2cap_cancel_ble_connect_req</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bda)</td></tr>
<tr class="memdesc:ga28268b114d35484254e29696a165f72a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel a pending connection attempt to a LE device.  <a href="#ga28268b114d35484254e29696a165f72a">More...</a><br /></td></tr>
<tr class="separator:ga28268b114d35484254e29696a165f72a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga649c28635db51a1a7fcc7a054e79b2d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga649c28635db51a1a7fcc7a054e79b2d3">wiced_bt_l2cap_update_ble_conn_params</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bdRa, <a class="el" href="structwiced__bt__ble__pref__conn__params__t.html">wiced_bt_ble_pref_conn_params_t</a> *p_conn_params)</td></tr>
<tr class="memdesc:ga649c28635db51a1a7fcc7a054e79b2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update LE connection parameters.  <a href="#ga649c28635db51a1a7fcc7a054e79b2d3">More...</a><br /></td></tr>
<tr class="separator:ga649c28635db51a1a7fcc7a054e79b2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84c66f4df107063ddb0adc482b5491ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga84c66f4df107063ddb0adc482b5491ae">wiced_bt_l2cap_enable_update_ble_conn_params</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> rem_bda, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> enable)</td></tr>
<tr class="memdesc:ga84c66f4df107063ddb0adc482b5491ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Application requests to disable or enable parameters update.  <a href="#ga84c66f4df107063ddb0adc482b5491ae">More...</a><br /></td></tr>
<tr class="separator:ga84c66f4df107063ddb0adc482b5491ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b246f3663cee7a53e788c47172413d9"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9b246f3663cee7a53e788c47172413d9">wiced_bt_l2cap_get_ble_conn_role</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr)</td></tr>
<tr class="memdesc:ga9b246f3663cee7a53e788c47172413d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the connection role.  <a href="#ga9b246f3663cee7a53e788c47172413d9">More...</a><br /></td></tr>
<tr class="separator:ga9b246f3663cee7a53e788c47172413d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44312ab4c397243d0b40b55851d34a62"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga44312ab4c397243d0b40b55851d34a62">wiced_bt_l2cap_le_register</a> (uint16_t le_psm, <a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html">wiced_bt_l2cap_le_appl_information_t</a> *p_cb_information)</td></tr>
<tr class="memdesc:ga44312ab4c397243d0b40b55851d34a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Other layers call this function to register L2CAP services for LE_PSM.  <a href="#ga44312ab4c397243d0b40b55851d34a62">More...</a><br /></td></tr>
<tr class="separator:ga44312ab4c397243d0b40b55851d34a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9166cfd9f8619d2ecb2414d6ba3df7b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga9166cfd9f8619d2ecb2414d6ba3df7b7">wiced_bt_l2cap_le_deregister</a> (uint16_t le_psm)</td></tr>
<tr class="memdesc:ga9166cfd9f8619d2ecb2414d6ba3df7b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Other layers call this function to deregister L2CAP services for LE_PSM.  <a href="#ga9166cfd9f8619d2ecb2414d6ba3df7b7">More...</a><br /></td></tr>
<tr class="separator:ga9166cfd9f8619d2ecb2414d6ba3df7b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1842a34af4edc5e83e6506bc33da982"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gaf1842a34af4edc5e83e6506bc33da982">wiced_bt_l2cap_le_connect_req</a> (uint16_t le_psm, <a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> p_bd_addr, <a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a> bd_addr_type, <a class="el" href="group__wicedbt___device_management.html#ga4309edd4a7a1c7f30bdc57d8107e84ab">wiced_bt_ble_conn_mode_t</a> conn_mode, uint16_t rx_mtu, uint8_t req_security, uint8_t req_encr_key_size, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_rx_drb)</td></tr>
<tr class="memdesc:gaf1842a34af4edc5e83e6506bc33da982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to create an L2CAP connection for LE_PSM.  <a href="#gaf1842a34af4edc5e83e6506bc33da982">More...</a><br /></td></tr>
<tr class="separator:gaf1842a34af4edc5e83e6506bc33da982"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52799083a3026d9b6ff86416e105444c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga52799083a3026d9b6ff86416e105444c">wiced_bt_l2cap_le_connect_rsp</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> p_bd_addr, uint8_t id, uint16_t lcid, uint16_t result, uint16_t rx_mtu, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_rx_drb)</td></tr>
<tr class="memdesc:ga52799083a3026d9b6ff86416e105444c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to accept an incoming LE L2CAP connection, for which they had gotten an connect indication callback.  <a href="#ga52799083a3026d9b6ff86416e105444c">More...</a><br /></td></tr>
<tr class="separator:ga52799083a3026d9b6ff86416e105444c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6cc529f5a1a6359daf1c0da80b5dc0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gad6cc529f5a1a6359daf1c0da80b5dc0a">wiced_bt_l2cap_le_disconnect_req</a> (uint16_t lcid)</td></tr>
<tr class="memdesc:gad6cc529f5a1a6359daf1c0da80b5dc0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to disconnect a LE COC channel.  <a href="#gad6cc529f5a1a6359daf1c0da80b5dc0a">More...</a><br /></td></tr>
<tr class="separator:gad6cc529f5a1a6359daf1c0da80b5dc0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29435ef069ceca748a5c1e67c00799d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga29435ef069ceca748a5c1e67c00799d0">wiced_bt_l2cap_le_disconnect_rsp</a> (uint16_t lcid)</td></tr>
<tr class="memdesc:ga29435ef069ceca748a5c1e67c00799d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to acknowledge the disconnection of a LE COC channel.  <a href="#ga29435ef069ceca748a5c1e67c00799d0">More...</a><br /></td></tr>
<tr class="separator:ga29435ef069ceca748a5c1e67c00799d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8724a2d6b1f7c967c7fb8caff8b045ff"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga8724a2d6b1f7c967c7fb8caff8b045ff">wiced_bt_l2cap_le_data_write</a> (uint16_t cid, uint8_t *p_data, uint16_t buf_len)</td></tr>
<tr class="memdesc:ga8724a2d6b1f7c967c7fb8caff8b045ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data over LE connection-oriented channel.  <a href="#ga8724a2d6b1f7c967c7fb8caff8b045ff">More...</a><br /></td></tr>
<tr class="separator:ga8724a2d6b1f7c967c7fb8caff8b045ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5f6c77c918db23fd0ac5cad6125c2f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#gab5f6c77c918db23fd0ac5cad6125c2f2">wiced_bt_l2cap_le_set_user_congestion</a> (uint16_t lcid, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> flow_off_peer)</td></tr>
<tr class="memdesc:gab5f6c77c918db23fd0ac5cad6125c2f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">App can call this function to flow control data reception from the peer (flow controlled channels only, viz LE COC, ECRB channels) To stop sending credits/flow off the remote peer set <code>flow_off_peer</code> to WICED_TRUE To resume sending credits/flow on set <code>flow_off_peer</code> to WICED_FALSE.  <a href="#gab5f6c77c918db23fd0ac5cad6125c2f2">More...</a><br /></td></tr>
<tr class="separator:gab5f6c77c918db23fd0ac5cad6125c2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97495805945b9075eec788d99a1ce8c4"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga97495805945b9075eec788d99a1ce8c4">wiced_bt_l2cap_le_get_peer_mtu</a> (uint16_t lcid)</td></tr>
<tr class="memdesc:ga97495805945b9075eec788d99a1ce8c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to get peer MTU.  <a href="#ga97495805945b9075eec788d99a1ce8c4">More...</a><br /></td></tr>
<tr class="separator:ga97495805945b9075eec788d99a1ce8c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga933b228e0a888ef7eb7671a2b3b7bccd"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__l2cap.html#ga933b228e0a888ef7eb7671a2b3b7bccd">wiced_bt_l2cap_le_determ_secur_rsp</a> (<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint8_t req_secur, uint8_t req_encr_key_size)</td></tr>
<tr class="memdesc:ga933b228e0a888ef7eb7671a2b3b7bccd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Higher layers call this function to check if the current device security settings are sufficient to continue with call establishment.  <a href="#ga933b228e0a888ef7eb7671a2b3b7bccd">More...</a><br /></td></tr>
<tr class="separator:ga933b228e0a888ef7eb7671a2b3b7bccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga87beab594369ecec827a5b118d07c344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga87beab594369ecec827a5b118d07c344">&#9670;&nbsp;</a></span>L2CAP_BLE_CONN_BAD_AUTHENT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_BLE_CONN_BAD_AUTHENT&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection Bad Authentication. </p>
<dl class="section note"><dt>Note</dt><dd>AMP related </dd></dl>

</div>
</div>
<a id="ga467e2353f863be840bd5faa90eccae6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga467e2353f863be840bd5faa90eccae6c">&#9670;&nbsp;</a></span>L2CAP_ECRB_MIN_MTU</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_ECRB_MIN_MTU&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ECRB Min MTU. </p>
<dl class="section note"><dt>Note</dt><dd>LE COC related </dd></dl>

</div>
</div>
<a id="ga393b58267d11d569c394b326b3350412"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga393b58267d11d569c394b326b3350412">&#9670;&nbsp;</a></span>L2CAP_MINIMUM_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define L2CAP_MINIMUM_OFFSET&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minimum offset that L2CAP needs in a buffer. </p>
<p>This is made up of HCI type(1), len(2), handle(2), L2CAP len(2), CID(2), control(2) and SDU length(2) </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga6827dfd644f1172740f9e69c0df06bc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6827dfd644f1172740f9e69c0df06bc9">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ch_cfg_bits_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t <a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Channel configuration fields in bit map. </p>
<p>Refer <a class="el" href="group__l2cap.html#L2CAP_CH_CFG_MASK">L2CAP channel configuration</a> </p>

</div>
</div>
<a id="ga8eb954ec0a272b02c6fc69bd07ea7602"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8eb954ec0a272b02c6fc69bd07ea7602">&#9670;&nbsp;</a></span>wiced_bt_l2cap_connected_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_connected_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t peer_mtu)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connection established callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">local_cid</td><td>: Local CID assigned to the connection </td></tr>
    <tr><td class="paramname">peer_mtu</td><td>: Peer MTU</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga8e06cc2cf38b4956b5bf6f521de8b3c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8e06cc2cf38b4956b5bf6f521de8b3c7">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_disconnect_indication_cback_t(uint16_t local_cid, uint16_t reason, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> ack)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">ack</td><td>: Boolean whether upper layer should ack this</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga0a296b1bb20b46ebc680a7bec99a740a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a296b1bb20b46ebc680a7bec99a740a">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_confirm_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_disconnect_confirm_cback_t(uint16_t local_cid, uint16_t result)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect confirm callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">result</td><td>: Result</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga5f1ea722e6d857d614fbc68192fcad37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5f1ea722e6d857d614fbc68192fcad37">&#9670;&nbsp;</a></span>wiced_bt_l2cap_data_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_data_indication_cback_t(uint16_t local_cid, <a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Data received indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">p_drb</td><td>: Pointer to the data received buffer, check <a class="el" href="structt_d_r_b.html">tDRB</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: Application is expected to use the data in the callback. Applications should not attempt to free/release the <code>p_drb</code> pointer in this callback, since the buffer will be reused to receive the next incoming packet</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga202240560832cdbfbf208871afd29153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga202240560832cdbfbf208871afd29153">&#9670;&nbsp;</a></span>wiced_bt_l2cap_tx_complete_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_tx_complete_cback_t(uint16_t local_cid, void *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transmit complete callback protype. </p>
<p>This callback is optional. If set, L2CAP will call it when packets are sent or flushed. If the count is 0xFFFF, it means all packets are sent for that CID (eRTM mode only).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">p_buff</td><td>: Pointer to the data that was sent</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gac22d67eed3442a90a411e8a8fecbe736"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac22d67eed3442a90a411e8a8fecbe736">&#9670;&nbsp;</a></span>wiced_bt_l2cap_fixed_chnl_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_fixed_chnl_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, <a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> connected, uint16_t reason, <a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fixed channel connected and disconnected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">connected</td><td>: TRUE if channel is connected, FALSE if disconnected </td></tr>
    <tr><td class="paramname">reason</td><td>: Reason for connection failure </td></tr>
    <tr><td class="paramname">transport</td><td>: Bluetooth Transport (BR/EDR or LE)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gae164afd58df70e53ff78489e7b7718e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae164afd58df70e53ff78489e7b7718e7">&#9670;&nbsp;</a></span>wiced_bt_l2cap_fixed_data_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_fixed_data_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint8_t *p_data, uint16_t data_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Signalling data received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">p_buff</td><td>: Pointer to data </td></tr>
    <tr><td class="paramname">data_len</td><td>: Data length</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaad82cf3146183d8eab241071358169b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad82cf3146183d8eab241071358169b6">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_indication_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_le_connect_indication_cback_t(<a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a> bd_addr, uint16_t local_cid, uint16_t psm, uint8_t id, uint16_t mtu_peer)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection indication callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramname">local_cid</td><td>: Local CID assigned to the connection </td></tr>
    <tr><td class="paramname">psm</td><td>: PSM that the remote wants to connect to </td></tr>
    <tr><td class="paramname">id</td><td>: Identifier that the remote sent </td></tr>
    <tr><td class="paramname">mtu_peer</td><td>: MTU of the peer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga3708e90651b47861800452aa90044a7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3708e90651b47861800452aa90044a7f">&#9670;&nbsp;</a></span>wiced_bt_l2cap_drb_release_cb</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_drb_release_cb(<a class="el" href="structt_d_r_b.html">tDRB</a> *p_drb)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>User DRB may be released callback prototype. </p>
<p>This function address is passed in when the user provides a DRB for an eRTM or LE-COC channel. It is called when the DRB can be released, i.e. at the end of the connection.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_drb</td><td>: Address of the DRB that can be released</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="gaa04b89594d9c3dc7d39a3066c02794cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa04b89594d9c3dc7d39a3066c02794cf">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_confirm_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_l2cap_le_connect_confirm_cback_t(uint16_t local_cid, uint16_t result, uint16_t mtu_peer)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LE Connection confirmation callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">local_cid</td><td>: Local CID </td></tr>
    <tr><td class="paramname">result</td><td>: Result - 0 = connected, non-zero means failure reason </td></tr>
    <tr><td class="paramname">mtu_peer</td><td>: MTU of the peer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gae9a06f8b983a720ef8f052bbaa823ad6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9a06f8b983a720ef8f052bbaa823ad6">&#9670;&nbsp;</a></span>wiced_bt_l2cap_register_fixed_channel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_register_fixed_channel </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__fixed__chnl__reg__t.html">wiced_bt_l2cap_fixed_chnl_reg_t</a> *&#160;</td>
          <td class="paramname"><em>p_freg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register a fixed channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed Channel # </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_freg</td><td>: Channel Callbacks and config</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if registered OK </dd></dl>

</div>
</div>
<a id="gab6c839df6fd0717659e0c1758c44f9e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab6c839df6fd0717659e0c1758c44f9e6">&#9670;&nbsp;</a></span>wiced_bt_l2cap_deregister_fixed_channel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_deregister_fixed_channel </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>De-register a fixed channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed Channel #</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if registered OK </dd></dl>

</div>
</div>
<a id="ga306455f38d2becd14fdaa0c2298aa511"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga306455f38d2becd14fdaa0c2298aa511">&#9670;&nbsp;</a></span>wiced_bt_l2cap_connect_fixed_chnl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_connect_fixed_chnl </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a>&#160;</td>
          <td class="paramname"><em>ble_addr_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connect an fixed signalling channel to a remote device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ble_addr_type</td><td>: Address type</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if connection started </dd></dl>

</div>
</div>
<a id="gaaac3977d50dff78f8cf766a5921c784a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaac3977d50dff78f8cf766a5921c784a">&#9670;&nbsp;</a></span>wiced_bt_l2cap_send_fixed_chnl_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_send_fixed_chnl_data </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write data on a fixed signalling channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bda</td><td>: BD Address of remote </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>: Pointer to data to send </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_len</td><td>: Length of data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>L2CAP_DATAWRITE_SUCCESS, if data accepted L2CAP_DATAWRITE_FAILED, if error </dd></dl>

</div>
</div>
<a id="gafbddfd71d35ac472aa4116d9291a09e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafbddfd71d35ac472aa4116d9291a09e1">&#9670;&nbsp;</a></span>wiced_bt_l2cap_remove_fixed_chnl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_remove_fixed_chnl </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bda</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a fixed channel to a remote device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bda</td><td>: BD Address of remote Idle timeout to use (or 0xFFFF if don't care)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if channel removed </dd></dl>

</div>
</div>
<a id="ga728a05e414212f3fa6a62b602d0eccb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga728a05e414212f3fa6a62b602d0eccb9">&#9670;&nbsp;</a></span>wiced_bt_l2cap_set_fixed_channel_timeout()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_set_fixed_channel_timeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>fixed_cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>idle_timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to set the idle timeout for a fixed channel. </p>
<p>The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds. A bd_addr is the remote BD address. If bd_addr = BT_BD_ANY, then the idle timeouts for all active l2cap links will be changed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bda</td><td>: Remote BD address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed_cid</td><td>: Fixed CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">idle_timeout</td><td>: Idle timeout</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if command succeeded, FALSE if failed </dd></dl>

</div>
</div>
<a id="ga19fedef3a0ab3ec2b155aefd73d4eb9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga19fedef3a0ab3ec2b155aefd73d4eb9e">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ecrb_register()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_ecrb_register </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>psm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__ecrb__cb__ptrs__t.html">wiced_bt_l2cap_ecrb_cb_ptrs_t</a> *&#160;</td>
          <td class="paramname"><em>p_ecrb_callbacks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Application calls this function to register support for enhanced credit-based channels. </p>
<p>The PSM must have been previously registered for BR and/or LE.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>: PSM value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_ecrb_callbacks</td><td>: callbacks for the credit based channel connections</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if all ok </dd></dl>

</div>
</div>
<a id="ga759cb1c76bec995a078fde74b3663deb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga759cb1c76bec995a078fde74b3663deb">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ecrb_deregister()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_ecrb_deregister </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>psm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Application calls this function to deregister support for enhanced credit-based channels. </p>
<p>The PSM must have been previously registered.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>PSM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if all OK. </dd></dl>

</div>
</div>
<a id="ga002c9dd41a84dffb8c9f8330be128e9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga002c9dd41a84dffb8c9f8330be128e9d">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ecrb_connect_req()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int wiced_bt_l2cap_ecrb_connect_req </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>psm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a>&#160;</td>
          <td class="paramname"><em>transport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wicedbt___device_management.html#ga4309edd4a7a1c7f30bdc57d8107e84ab">wiced_bt_ble_conn_mode_t</a>&#160;</td>
          <td class="paramname"><em>conn_mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>our_rx_mtu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>our_rx_mps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structt_d_r_b.html">tDRB</a> **&#160;</td>
          <td class="paramname"><em>p_rx_drb_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a>&#160;</td>
          <td class="paramname"><em>lcid_list</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to create up to 5 credit-based L2CAP connections on the same PSM. </p>
<dl class="section note"><dt>Note</dt><dd>The connection is not established at this time, but connection establishment gets started. The callback function will be invoked when connection establishes or fails.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>PSM Value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">transport</td><td>Bluetooth transport for the connection </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>: Bluetooth device address to connect </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr_type</td><td>BLE_ADDR_PUBLIC or BLE_ADDR_RANDOM </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">conn_mode</td><td>: LE connection mode </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">our_rx_mtu</td><td>Our RX MTU to be used for the channels </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">our_rx_mps</td><td>Our RX MPS to be used for the channels </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>our_rx_mps</code> must be less then <a class="el" href="structwiced__bt__cfg__ble__t.html#aff4b2166af3a3a1c01b4a1a01950139d">wiced_bt_cfg_ble_t::ble_max_rx_pdu_size</a> or <a class="el" href="structwiced__bt__cfg__br__t.html#a88a90b0eb26296fb9726344a1da02dde">wiced_bt_cfg_br_t::br_max_rx_pdu_size</a> for LE and BR/EDR transports respectively </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>: Number of channels to be created </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rx_drb_list</td><td>list of the allocated <a class="el" href="structt_d_r_b.html">tDRB</a> 's, one for each <code>num_channels</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: the size of DRB allocated must be &gt;= <code>our_rx_mtu</code> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">lcid_list</td><td>list of cids (channel ids) which will be started</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of channels which will be started </dd></dl>

</div>
</div>
<a id="ga536ec7f339490e662fffcd11a2525a5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga536ec7f339490e662fffcd11a2525a5d">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ecrb_ConnectRsp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_l2cap_ecrb_ConnectRsp </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>trans_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t&#160;</td>
          <td class="paramname"><em>our_rx_mtu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>our_rx_mps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a>&#160;</td>
          <td class="paramname"><em>lcid_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structt_d_r_b.html">tDRB</a> **&#160;</td>
          <td class="paramname"><em>p_rx_drb_list</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to accept incoming Enhanced Credit-based L2CAP channel establishment, for which they had gotten a connect indication callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>: Result of the connection set by the application. L2CAP result codes (<a class="el" href="group__l2cap.html#L2CAP_CONN_RESULT">L2CAP_CONN_RESULT</a>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trans_id</td><td>: trans_id received in the <a class="el" href="group__l2cap.html#gaf52b6b2c8b5f0b7e29b9152e786c14b8">wiced_bt_l2cap_ecrb_connect_ind</a> </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">our_rx_mtu</td><td>Our RX MTU to be used for the channels </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">our_rx_mps</td><td>Our RX MPS to be used for the channels </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>our_rx_mps</code> must be less then <a class="el" href="structwiced__bt__cfg__ble__t.html#aff4b2166af3a3a1c01b4a1a01950139d">wiced_bt_cfg_ble_t::ble_max_rx_pdu_size</a> or <a class="el" href="structwiced__bt__cfg__br__t.html#a88a90b0eb26296fb9726344a1da02dde">wiced_bt_cfg_br_t::br_max_rx_pdu_size</a> for LE and BR/EDR transports respectively </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">lcid_list</td><td>list of cids (channel ids) which will be started as received in <a class="el" href="group__l2cap.html#gaf52b6b2c8b5f0b7e29b9152e786c14b8">wiced_bt_l2cap_ecrb_connect_ind</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The CID list in <code>lcid_list</code> must match the CID list returned in the callback. The DRB pointer list must contain a valid DRB pointer for each non-zero CID in the list that the application accepts. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rx_drb_list</td><td>: list of the allocated <a class="el" href="structt_d_r_b.html">tDRB</a> 's, one for each <code>num_channels</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: the size of DRB allocated must be &gt;= <code>our_rx_mtu</code> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga1ca1d8190c10328fb06b68573fb88ac3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ca1d8190c10328fb06b68573fb88ac3">&#9670;&nbsp;</a></span>wiced_bt_l2cap_ecrb_reconfigure()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_ecrb_reconfigure </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>new_rx_mtu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t&#160;</td>
          <td class="paramname"><em>new_rx_mps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gaff3eb04924fbda24d4efd4285c7da1bc">wiced_bt_ecrb_cid_list_t</a>&#160;</td>
          <td class="paramname"><em>lcid_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structt_d_r_b.html">tDRB</a> **&#160;</td>
          <td class="paramname"><em>p_rx_drb_list</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to reconfigure the MTU and or MPS of Enhanced Credit-based L2CAP channels. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_rx_mtu</td><td>Our new RX MTU to be used for the channels </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If <code>new_rx_mtu</code> is zero, no change to MTU is requested. Otherwise <code>new_rx_mtu</code> must be larger than the old MTU for all channels.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_rx_mps</td><td>Our new RX MPS to be used for the channels </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If <code>new_rx_mts</code> is zero, no change to MPS is requested. Otherwise <code>new_rx_mps</code> must be larger than the old MPS for all channels. </dd>
<dd>
<code>new_rx_mps</code> must be less then <a class="el" href="structwiced__bt__cfg__ble__t.html#aff4b2166af3a3a1c01b4a1a01950139d">wiced_bt_cfg_ble_t::ble_max_rx_pdu_size</a> or <a class="el" href="structwiced__bt__cfg__br__t.html#a88a90b0eb26296fb9726344a1da02dde">wiced_bt_cfg_br_t::br_max_rx_pdu_size</a> for LE and BR/EDR transports respectively</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">num_channels</td><td>: Number of channels to be created </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid_list</td><td>: list of channels to be reconfigured </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rx_drb_list</td><td>: list of the allocated <a class="el" href="structt_d_r_b.html">tDRB</a> 's, one for each <code>num_channels</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>: the size of DRB allocated must be &gt;= <code>new_rx_mtu</code> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if reconfigure sent OK </dd></dl>

</div>
</div>
<a id="ga4d963f266263672e7a672c27a21cc711"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4d963f266263672e7a672c27a21cc711">&#9670;&nbsp;</a></span>wiced_bt_l2cap_get_current_config()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_get_current_config </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a> **&#160;</td>
          <td class="paramname"><em>pp_our_cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> *&#160;</td>
          <td class="paramname"><em>p_our_cfg_bits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__cfg__information__t.html">wiced_bt_l2cap_cfg_information_t</a> **&#160;</td>
          <td class="paramname"><em>pp_peer_cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__l2cap.html#ga6827dfd644f1172740f9e69c0df06bc9">wiced_bt_l2cap_ch_cfg_bits_t</a> *&#160;</td>
          <td class="paramname"><em>p_peer_cfg_bits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns configurations of L2CAP channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>: Local CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pp_our_cfg</td><td>: pointer of our saved configuration options </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_our_cfg_bits</td><td>: valid config in bitmap </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pp_peer_cfg</td><td>: pointer of peer's saved configuration options </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_peer_cfg_bits</td><td>: valid config in bitmap</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if successful </dd></dl>

</div>
</div>
<a id="gabb82303005eb9c2c60358f49c3308455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb82303005eb9c2c60358f49c3308455">&#9670;&nbsp;</a></span>wiced_bt_l2cap_register()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_register </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>psm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__appl__information__t.html">wiced_bt_l2cap_appl_information_t</a> *&#160;</td>
          <td class="paramname"><em>p_cb_information</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Other layers call this function to register for L2CAP services. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>: PSM value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_cb_information</td><td>: L2CAP cb info</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>PSM to use or zero if error. Typically, the PSM returned is the same as was passed in, but for an outgoing-only connection to a dynamic PSM, a "virtual" PSM is returned and should be used in the calls to wiced_bt_l2cap_connect_req(). </dd></dl>

</div>
</div>
<a id="ga4c7c609b52d8cc676006e7a9fc28f8f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4c7c609b52d8cc676006e7a9fc28f8f5">&#9670;&nbsp;</a></span>wiced_bt_l2cap_deregister()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_l2cap_deregister </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>psm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Other layers call this function to deregister for L2CAP services. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>: PSM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga6cf452fa369a74b725afe2bf2917abbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6cf452fa369a74b725afe2bf2917abbb">&#9670;&nbsp;</a></span>wiced_bt_l2cap_allocate_psm()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_allocate_psm </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Other layers call this function to find an unused PSM for L2CAP services. </p>
<dl class="section return"><dt>Returns</dt><dd>PSM to use. </dd></dl>

</div>
</div>
<a id="gacdd50150646f5c2b687cc631c10086f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacdd50150646f5c2b687cc631c10086f8">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_req()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_disconnect_req </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>cid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to disconnect a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cid</td><td>: CID value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if disconnect sent, else FALSE </dd></dl>

</div>
</div>
<a id="ga65566b353208f4de37cc91625a4abcbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65566b353208f4de37cc91625a4abcbf">&#9670;&nbsp;</a></span>wiced_bt_l2cap_disconnect_rsp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_disconnect_rsp </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>cid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to acknowledge the disconnection of a channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cid</td><td>: CID value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga2cd224a6bc467d85d853540f8abdec5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2cd224a6bc467d85d853540f8abdec5e">&#9670;&nbsp;</a></span>wiced_bt_l2cap_data_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t wiced_bt_l2cap_data_write </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buf_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to write data with extended. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cid</td><td>: CID value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_buf</td><td>: Input buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buf_len</td><td>: p_buf buffer size </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>: refer <a class="el" href="group__l2cap.html#L2CAP_DATAWRITE_FLUSH">L2CAP data write flags</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>refer <a class="el" href="group__l2cap.html#L2CAP_DATAWRITE">L2CAP data write result</a> </dd></dl>

</div>
</div>
<a id="gaff27f5b67e8050fe84916d3a67006a50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff27f5b67e8050fe84916d3a67006a50">&#9670;&nbsp;</a></span>wiced_bt_l2cap_set_idle_timeout()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_set_idle_timeout </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td>
          <td class="paramname"><em>is_global</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to set the idle timeout for a connection, or for all future connections. </p>
<p>The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cid</td><td>: CID value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>: Timeout value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">is_global</td><td>: TRUE, if global</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if command succeeded, FALSE if failed </dd></dl>

</div>
</div>
<a id="ga9834af87f6f31578b7095bdb4e55e459"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9834af87f6f31578b7095bdb4e55e459">&#9670;&nbsp;</a></span>wiced_bt_l2cap_set_idle_timeout_by_bd_addr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_set_idle_timeout_by_bd_addr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a>&#160;</td>
          <td class="paramname"><em>transport</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to set the idle timeout for a connection. </p>
<p>The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds. A bd_addr is the remote BD address. If bd_addr = BT_BD_ANY, then the idle timeouts for all active l2cap links will be changed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>: BD Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>: Timeout value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">transport</td><td>: Transport (BR-EDR or LE)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if command succeeded, FALSE if failed</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This timeout applies to all logical channels active on the ACL link. </dd></dl>

</div>
</div>
<a id="gaebb8e6a7ac8add5164c86871af99747e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebb8e6a7ac8add5164c86871af99747e">&#9670;&nbsp;</a></span>wiced_bt_l2cap_get_bdaddrby_handle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_get_bdaddrby_handle </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get BD address for the given HCI handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>: HCI handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>: Peer Bd Address</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: TRUE if found lcb for the given handle, FALSE otherwise </dd></dl>

</div>
</div>
<a id="ga28268b114d35484254e29696a165f72a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga28268b114d35484254e29696a165f72a">&#9670;&nbsp;</a></span>wiced_bt_l2cap_cancel_ble_connect_req()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_cancel_ble_connect_req </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bda</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cancel a pending connection attempt to a LE device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bda</td><td>: BD Address of remote</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: TRUE if connection was cancelled </dd></dl>

</div>
</div>
<a id="ga649c28635db51a1a7fcc7a054e79b2d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga649c28635db51a1a7fcc7a054e79b2d3">&#9670;&nbsp;</a></span>wiced_bt_l2cap_update_ble_conn_params()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_update_ble_conn_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bdRa</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__ble__pref__conn__params__t.html">wiced_bt_ble_pref_conn_params_t</a> *&#160;</td>
          <td class="paramname"><em>p_conn_params</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update LE connection parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bdRa</td><td>: Remote BD Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_conn_params</td><td>: Preferred connection parameters</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: TRUE if update started </dd></dl>

</div>
</div>
<a id="ga84c66f4df107063ddb0adc482b5491ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga84c66f4df107063ddb0adc482b5491ae">&#9670;&nbsp;</a></span>wiced_bt_l2cap_enable_update_ble_conn_params()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_enable_update_ble_conn_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>rem_bda</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Application requests to disable or enable parameters update. </p>
<dl class="section note"><dt>Note</dt><dd>By default parameter updates are allowed on connection complete This API is typically used to pause parameter updates.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rem_bda</td><td>Remote Bd Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>TRUE to enable,FALSE to disable. If <code>enable</code> = FALSE, and if parameters are already updated, this API resets them to what was requested during connection establishement If <code>enable</code> = TRUE, then any pending request sent through <a class="el" href="group__l2cap.html#ga649c28635db51a1a7fcc7a054e79b2d3">wiced_bt_l2cap_update_ble_conn_params</a> is processed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: TRUE if update started </dd></dl>

</div>
</div>
<a id="ga9b246f3663cee7a53e788c47172413d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b246f3663cee7a53e788c47172413d9">&#9670;&nbsp;</a></span>wiced_bt_l2cap_get_ble_conn_role()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t wiced_bt_l2cap_get_ble_conn_role </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the connection role. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>BD Address</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>link role.( 0 =&gt; HCI_ROLE_CENTRAL and 1 =&gt; HCI_ROLE_PERIPHERAL) </dd></dl>

</div>
</div>
<a id="ga44312ab4c397243d0b40b55851d34a62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga44312ab4c397243d0b40b55851d34a62">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_register()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_le_register </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>le_psm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html">wiced_bt_l2cap_le_appl_information_t</a> *&#160;</td>
          <td class="paramname"><em>p_cb_information</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Other layers call this function to register L2CAP services for LE_PSM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">le_psm</td><td>: LE PSM value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_cb_information</td><td>: L2CAP cb info</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>LE_PSM to use or zero if error. Typically the LE_PSM returned is the same as was passed in, but for an outgoing-only connection a "virtual" LE_PSM is returned and should be used in the calls to <a class="el" href="group__l2cap.html#gaf1842a34af4edc5e83e6506bc33da982" title="Higher layers call this function to create an L2CAP connection for LE_PSM.">wiced_bt_l2cap_le_connect_req()</a> and <a class="el" href="group__l2cap.html#ga9166cfd9f8619d2ecb2414d6ba3df7b7" title="Other layers call this function to deregister L2CAP services for LE_PSM.">wiced_bt_l2cap_le_deregister()</a>. </dd></dl>

</div>
</div>
<a id="ga9166cfd9f8619d2ecb2414d6ba3df7b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9166cfd9f8619d2ecb2414d6ba3df7b7">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_deregister()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_le_deregister </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>le_psm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Other layers call this function to deregister L2CAP services for LE_PSM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">le_psm</td><td>LE PSM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE for success, FALSE for failure </dd></dl>

</div>
</div>
<a id="gaf1842a34af4edc5e83e6506bc33da982"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf1842a34af4edc5e83e6506bc33da982">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_req()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_le_connect_req </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>le_psm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>p_bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#ga97897f7408c23723933e9d21815c7294">wiced_bt_ble_address_type_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wicedbt___device_management.html#ga4309edd4a7a1c7f30bdc57d8107e84ab">wiced_bt_ble_conn_mode_t</a>&#160;</td>
          <td class="paramname"><em>conn_mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>rx_mtu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>req_security</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>req_encr_key_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structt_d_r_b.html">tDRB</a> *&#160;</td>
          <td class="paramname"><em>p_rx_drb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to create an L2CAP connection for LE_PSM. </p>
<p>Note that the connection is not established at this time, but connection establishment gets started. The callback function will be invoked when connection establishes or fails.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">le_psm</td><td>: LE PSM value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_bd_addr</td><td>: BD Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr_type</td><td>: BLE_ADDR_PUBLIC or BLE_ADDR_RANDOM </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">conn_mode</td><td>: BLE_CONN_MODE_HIGH_DUTY or BLE_CONN_MODE_LOW_DUTY </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rx_mtu</td><td>: Rx MTU value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>rx_mtu</code> must be less then <a class="el" href="structwiced__bt__cfg__ble__t.html#aff4b2166af3a3a1c01b4a1a01950139d">wiced_bt_cfg_ble_t::ble_max_rx_pdu_size</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">req_security</td><td>: Security required </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">req_encr_key_size</td><td>: key size </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rx_drb</td><td>: DRB to receive peer's data. MUST be large enough to hold RX MTU data, check <a class="el" href="structt_d_r_b.html">tDRB</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>p_rx_drb</code> can be released by the application on receiving a callback with the <a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html#a061ad1d94e881cd659b8d31218c689ad">wiced_bt_l2cap_le_appl_information_t::le_release_drb_cb</a> of the <code>p_cb_information</code> member of <a class="el" href="group__l2cap.html#ga44312ab4c397243d0b40b55851d34a62">wiced_bt_l2cap_le_register</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the CID of the connection, or 0 if it failed to start </dd></dl>

</div>
</div>
<a id="ga52799083a3026d9b6ff86416e105444c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52799083a3026d9b6ff86416e105444c">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_connect_rsp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_le_connect_rsp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>p_bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>rx_mtu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structt_d_r_b.html">tDRB</a> *&#160;</td>
          <td class="paramname"><em>p_rx_drb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to accept an incoming LE L2CAP connection, for which they had gotten an connect indication callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_bd_addr</td><td>: BD Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>: ID received from wiced_bt_l2cap_le_connect_indication_cback_t callback. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>: Local CID </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">result</td><td>: L2CAP result codes (<a class="el" href="group__l2cap.html#L2CAP_CONN_RESULT">L2CAP_CONN_RESULT</a>) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rx_mtu</td><td>: Rx MTU value (must be &lt;= ACL_POOL_SIZE) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rx_drb</td><td>: DRB to receive peer's data. MUST be large enough to hold RX MTU data, check <a class="el" href="structt_d_r_b.html">tDRB</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>p_rx_drb</code> can be released by the application on receiving a callback with the <a class="el" href="structwiced__bt__l2cap__le__appl__information__t.html#a061ad1d94e881cd659b8d31218c689ad">wiced_bt_l2cap_le_appl_information_t::le_release_drb_cb</a> of the <code>p_cb_information</code> member of <a class="el" href="group__l2cap.html#ga44312ab4c397243d0b40b55851d34a62">wiced_bt_l2cap_le_register</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE for success, FALSE for failure </dd></dl>

</div>
</div>
<a id="gad6cc529f5a1a6359daf1c0da80b5dc0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad6cc529f5a1a6359daf1c0da80b5dc0a">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_disconnect_req()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_le_disconnect_req </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to disconnect a LE COC channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>Local CID value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if disconnect sent, else FALSE </dd></dl>

</div>
</div>
<a id="ga29435ef069ceca748a5c1e67c00799d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga29435ef069ceca748a5c1e67c00799d0">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_disconnect_rsp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_le_disconnect_rsp </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to acknowledge the disconnection of a LE COC channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>Local CID value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

</div>
</div>
<a id="ga8724a2d6b1f7c967c7fb8caff8b045ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8724a2d6b1f7c967c7fb8caff8b045ff">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_data_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t wiced_bt_l2cap_le_data_write </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>cid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buf_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send data over LE connection-oriented channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">cid</td><td>: CID value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>: Input buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buf_len</td><td>: p_data buffer size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>L2CAP_DATAWRITE_SUCCESS, if data accepted, else FALSE L2CAP_DATAWRITE_CONGESTED, if data accepted and the channel is congested L2CAP_DATAWRITE_FAILED, if error </dd></dl>

</div>
</div>
<a id="gab5f6c77c918db23fd0ac5cad6125c2f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5f6c77c918db23fd0ac5cad6125c2f2">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_set_user_congestion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a> wiced_bt_l2cap_le_set_user_congestion </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__gentypes.html#ga2bc92bd117cfd3f6ec4ae452e6ced064">wiced_bool_t</a>&#160;</td>
          <td class="paramname"><em>flow_off_peer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>App can call this function to flow control data reception from the peer (flow controlled channels only, viz LE COC, ECRB channels) To stop sending credits/flow off the remote peer set <code>flow_off_peer</code> to WICED_TRUE To resume sending credits/flow on set <code>flow_off_peer</code> to WICED_FALSE. </p>
<dl class="section note"><dt>Note</dt><dd>: This API is typically invoked by applications that buffer incoming data for further processing/forwarding. On invoking the API further issuance of L2CAP credits is stopped, however, the remote will continue to send data till it runs out of credits. The maximum amount of data size expected to be received is 2 * Receive MTU which could be split over a max of (Receive MTU + 2(Sdu header size))/(Receive MPS) number of packets</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>: Local CID value </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flow_off_peer</td><td>: to flow off peer set to WICED_TRUE, to flow on peer set to WICED_FALSE</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if command processed OK </dd></dl>

</div>
</div>
<a id="ga97495805945b9075eec788d99a1ce8c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga97495805945b9075eec788d99a1ce8c4">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_get_peer_mtu()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_le_get_peer_mtu </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>lcid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to get peer MTU. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">lcid</td><td>: Local CID value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Peer MTU or 0. </dd></dl>

</div>
</div>
<a id="ga933b228e0a888ef7eb7671a2b3b7bccd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga933b228e0a888ef7eb7671a2b3b7bccd">&#9670;&nbsp;</a></span>wiced_bt_l2cap_le_determ_secur_rsp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_l2cap_le_determ_secur_rsp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__bt__types.html#gacf9a377aceca799be625c0dfe554902e">wiced_bt_device_address_t</a>&#160;</td>
          <td class="paramname"><em>bd_addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>req_secur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>req_encr_key_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Higher layers call this function to check if the current device security settings are sufficient to continue with call establishment. </p>
<p>It is called by call acceptor on reception of LE Credit Based Connection Request.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bd_addr</td><td>: BD Address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">req_secur</td><td>: Security required </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">req_encr_key_size</td><td>: Key size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>L2CAP_CONN_OK/L2CAP_BLE_CONN_BAD_AUTHENT/ L2CAP_BLE_CONN_BAD_KEY_SIZE/L2CAP_BLE_CONN_BAD_ENCRYPT/ L2CAP_CONN_NO_RESOURCES. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth Host Stack Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
